Red Hat System Administration II 8.2

Упражнение под руководством преподавателя: Запуск базового контейнера

В этом упражнении вы установите контейнерные утилиты и протестируете их, запустив простой контейнер без прав root.

Результаты

Вы сможете установить утилиты управления контейнерами и использовать их для запуска контейнера.

Войдите на машину workstation как пользователь student с паролем student.

На машине workstation выполните команду lab containers-basic start. Эта команда запускает подготовительный сценарий, который проверяет доступность машины servera в сети. Она также проверяет и настраивает реестр контейнеров и обеспечивает хранение в нем образа контейнера, используемого для этого упражнения.

[student@workstation ~]$ lab containers-basic start

Процедура 13.1. Инструкции

  1. С помощью команды ssh войдите на машину servera как пользователь student. Системы настроены на использование ключей SSH для аутентификации, поэтому пароль не требуется.

    [student@workstation ~]$ ssh student@servera
    ...output omitted...
    [student@servera ~]$ 
  2. Установите Yum-модуль container-tools с помощью команды yum.

    [student@servera ~]$ sudo yum module install container-tools
    [sudo] password for student: student
    ...output omitted...
    Is this ok [y/N]: y
    ...output omitted...
    Complete!
  3. Войдите в реестр контейнеров с помощью команды podman login.

    [student@servera ~]$ podman login registry.lab.example.com
    Username: admin
    Password: redhat321
    Login Succeeded!
  4. Извлеките образ контейнера из реестра, указав полностью определенное имя контейнера в команде podman pull.

    [student@servera ~]$ podman pull registry.lab.example.com/rhel8/httpd-24:latest
    Trying to pull registry.lab.example.com/rhel8/httpd-24:latest...
    Getting image source signatures
    Copying blob 77c58f19bd6e done
    Copying blob 47db82df7f3f done
    Copying blob 9d20433efa0c done
    Copying blob 71391dc11a78 done
    Copying config 7e93f25a94 done
    Writing manifest to image destination
    Storing signatures
    7e93f25a946892c9c175b74a0915c96469e3b4845a6da9f214fd3ec19c3d7070
  5. Запустите контейнер из образа, подключите его к терминалу, назначьте ему имя, а затем запустите интерактивную оболочку bash с помощью команды podman run. Поскольку тег не указан, предполагается тег latest.

    Следующая команда podman run очень длинная, и ее необходимо вводить в одной строке:

    [student@servera ~]$ podman run --name myweb -it registry.lab.example.com/rhel8/httpd-24 /bin/bash
    bash-4.4$
  6. Отобразите список запущенных процессов в контейнере. Вы увидите только те процессы, которые запущены в контейнере. Вы не увидите никаких других процессов, запущенных на сервере.

    bash-4.4$ ps aux
    USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    default        1  6.6  0.1  12020  3120 pts/0    Ss   21:52   0:00 /bin/bash
    default        6  0.0  0.1  44596  3296 pts/0    R+   21:52   0:00 ps aux
  7. Отобразите текущие имя пользователя и идентификатор внутри контейнера.

    bash-4.4$ id
    uid=1001(default) gid=0(root) groups=0(root)
  8. Выйдите из командной оболочки контейнера.

    bash-4.4$ exit
    exit
  9. Выполните команду httpd-v в контейнере, используя образ контейнера rhel8/httpd-24, и после завершения выполнения команды удалите контейнер.

    Следующая команда podman run очень длинная, и ее необходимо вводить в одной строке:

    [student@servera ~]$ podman run --rm registry.lab.example.com/rhel8/httpd-24 httpd -v
    Server version: Apache/2.4.37 (Red Hat Enterprise Linux)
    Server built:   Dec  2 2019 14:15:24
  10. Выйдите с servera.

    [student@servera ~]$ exit
    logout
    Connection to servera closed.
    [student@workstation ~]$ 

Конец

На машине workstation запустите сценарий lab containers-basic finish, чтобы закончить это упражнение.

[student@workstation ~]$ lab containers-basic finish

Упражнение завершено.